package org.agent.aigccore.dao.mappers.mysql;

import org.agent.aigccore.model.po.IotDeviceBusinessGroupPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface IotDeviceBusinessGroupMapper {

    /**
     * 根据 ID 查询IoT设备业务组
     *
     * @param id IoT设备业务组 ID
     * @return IoT设备业务组实体
     */
    IotDeviceBusinessGroupPO load(@Param("id") Long id);

    /**
     * 根据 ID 查询IoT设备业务组（加锁）
     *
     * @param id IoT设备业务组 ID
     * @return IoT设备业务组实体
     */
    IotDeviceBusinessGroupPO lock(@Param("id") Long id);

    /**
     * 新增IoT设备业务组
     *
     * @param iotDeviceBusinessGroupPO IoT设备业务组实体
     * @return 插入记录数
     */
    int insert(IotDeviceBusinessGroupPO iotDeviceBusinessGroupPO);

    /**
     * 更新IoT设备业务组
     *
     * @param iotDeviceBusinessGroupPO IoT设备业务组实体
     * @return 更新记录数
     */
    int update(IotDeviceBusinessGroupPO iotDeviceBusinessGroupPO);

    /**
     * 删除IoT设备业务组
     *
     * @param id IoT设备业务组ID
     * @return 删除记录数
     */
    int delete(@Param("id") Long id);
}